package com.marktotop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.marktotop.entity.business.Vaccinator;
import com.marktotop.error.SystemException;
import com.marktotop.response.ResultBean;
import com.marktotop.vo.business.VaccinatorReservationVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author MarkToTop
 * @since 2021-07-12
 */
public interface IVaccinatorService extends IService<Vaccinator> {

    /**
     * 接种人员列表(分页)
     *
     * @param pageNum
     * @param pageSize
     * @param vaccinator
     * @return
     */
    ResultBean findVaccinatorList(Integer pageNum, Integer pageSize, Vaccinator vaccinator);


    /**
     * 编辑接种人员信息
     *
     * @param id
     * @return
     * @throws SystemException
     */
    Vaccinator editVaccinator(Long id) throws SystemException;


    /**
     * 根据 接种人id查找已预约的疫苗信息
     *
     * @param pageNum
     * @param pageSize
     * @param id
     * @return
     */
    ResultBean findVaccinatorReservationRecords(Integer pageNum, Integer pageSize, Long id);


    /**
     * 查询所有接种人信息，供预约使用
     *
     * @return
     */
    List<Vaccinator> findAllVaccinatorInfo();


    /**
     *删除接种人员信息
     *      无预约信息，不删除疫苗历史，疫苗历史会保留部分用户信息
     *
     * @param id
     * @return
     * @throws SystemException
     */
    boolean removeVaccinator(Long id) throws SystemException;

}
